LoveRead.info » Книги » Разная литература » Графические интерфейсы пользователя Java - Тимур Сергеевич Машнин

Графические интерфейсы пользователя Java - Тимур Сергеевич Машнин

Книгу Графические интерфейсы пользователя Java - Тимур Сергеевич Машнин читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!

222 0 11:53, 18-01-2023

Книга Графические интерфейсы пользователя Java - Тимур Сергеевич Машнин читать онлайн бесплатно без регистрации

Эта книга для тех, кто уже знаком с языком программирования Java и хотел бы научиться разрабатывать настольные приложения Java с графическим интерфейсом пользователя.С этой книгой Вы познакомитесь с такими Java библиотеками графического интерфейса пользователя, как AWT, Swing, SWT/JFace и JavaFX.

    1 ... 50 51 52 53 54 55 56 57 58 59
    Перейти на страницу:
    создания связывания данных с помощью мастера JFace Automating Databinding в окне Package Explorer перспективы Java среды Eclipse щелкнем правой кнопкой мышки на узле проекта, созданного с помощью мастера SWT/JFace Java Project, и в контекстном меню выберем команду New | Other | Java | Class и нажмем кнопку Next, введем имя пакета и имя класса и нажмем кнопку Finish.

    В окне редактора исходного кода дополним код класса.

    Теперь класс Data является JavaBeans-компонентом, представляющим данные приложения.

    В окне Package Explorer щелкнем правой кнопкой мышки на узле класса Data и в контекстном меню выберем команду New | Other | WindowBuilder | SWT Designer | Databinding | JFace Automating Databinding и нажмем кнопку Next, в окне мастера выберем переключатель Shell и нажмем кнопку Next.

    В поле Properties: выберем свойство data класса Data и нажмем кнопку Finish.

    В результате будет создано окно Shell, включающее в себя текстовое поле, содержимое которого синхронизировано со свойством data класса Data.

    Связывание данных данного SWT-приложения устанавливается с помощью создания объекта DataBindingContext, который отвечает за хранение информации обо всех связываниях данных приложения.

    Связывание данных вносится в DataBindingContext-объект с помощью методов класса DataBindingContext:

    Метод bindList – синхронизирует два списка java.util.List.

    Метод bindSet – синхронизирует два набора java.util.Set.

    Метод bindValue – синхронизирует два объекта.

    В данном SWT-приложении применяется метод bindValue для синхронизации свойства Text-компонента со свойством JavaBeans-компонента.

    При этом свойство Text-компонента и свойство JavaBeans-компонента обертываются в объекты IObservableValue, обеспечивающие отслеживание изменений значений свойств.

    Обертывание свойства Text-компонента в IObservableValue-объект производится с помощью статического метода observeText класса-фабрики SWTObservables, а обертывание свойства JavaBeans-компонента – с помощью статического метода observeValue класса-фабрики PojoObservables.

    В методе main данного SWT-приложения Shell-окно создается в специальном UI-потоке, для которого определен контекст доступа к IObservable-объектам, обеспечивающий уведомление IObservable-объектами своих слушателей.

    Такой контекст представлен объектом Realm.

    Для демонстрации связывания данных во вкладке Design WindowBuilder-редактора перенесем в Shell-окно элемент Button раздела Controls Palette-палитры и два раза щелкнем по нему мышкой – в результате будет сгенерирован код создания Button-компонента и присоединения к нему слушателя событий выбора компонента.

    Дополним код обработчика событий компонента.

    В выделенных строках кода изменяется значение свойства data объекта Data и вызывается метод, обновляющий DataBindingContext-контекст.

    После запуска приложения выбором команды Run As | Java Application контекстного меню окна Package Explorer при нажатии кнопки окна приложения в текстовом поле появится значение свойства JavaBeans-компонента «Hello».

    Для того чтобы в обработчике событий кнопки не обновлять DataBindingContext-контекст вызовом метода setData, изменим код класса Data и код метода initDataBindings.

    Здесь мы добавляем слушателей свойства JavaBeans-компонента, и в его методе setData автоматически генерируем событие изменения значения свойства.

    Здесь мы обертываем свойство JavaBeans-компонента.

    Для создания связывания данных с помощью вкладки Bindings WindowBuilder-редактора во вкладке Design WindowBuilder-редактора перенесем в Shell-окно элемент Label раздела Controls Palette-палитры и перейдем на вкладку Bindings.

    Во вкладке Bindings в поле Target выберем Label-компонент, в поле Properties – его свойство text. В поле Model кнопкой Widgets переключимся на компоненты и выберем Text-компонент, а в нижнем поле Properties – его свойство text и нажмем кнопку создания связывания.

    В окне мастера Create Data Binding нажмем кнопку OK.

    В результате метод initDataBindings дополнится кодом.

    Здесь текст поля связывается с текстом Label-компонента.

    Убедимся, что вызов метода initDataBindings производится после создания Label-компонента, и во вкладке Design WindowBuilder-редактора в области визуального редактирования нажмем на Label-компоненте правой кнопкой мышки и в контекстном меню выберем команду Horizontal alignment | Fill, гарантируя отображение текста метки.

    Теперь после запуска приложения изменение текста в текстовом поле приведет к автоматическому изменению текста метки.

    JFace-приложения

    Для создания JFace-приложения

    в окне Package Explorer нажмем правой кнопкой мышки на узле проекта, созданного с использованием мастера SWT/JFace Java Project, и в контекстном меню выберем команду New | Other | WindowBuilder | SWT Designer | JFace | ApplicationWindow, нажмем кнопку Next, введем имя пакета и имя класса и нажмем кнопку Finish.

    В результате будет создан главный класс JFace-приложения, представляющий окно с заголовком и кнопками «свернуть», «развернуть» и «закрыть», расширяющий класс ApplicationWindow и имеющий публичный конструктор, статический метод main, внутренний метод createActions и переопределенные методы createContents, createMenuManager, createToolBarManager, createStatusLineManager, configureShell и getInitialSize.

    В конструкторе главного класса JFace-приложения вызывается конструктор класса ApplicationWindow с аргументом Shell null, где Shell – это родительское окно для данного окна, таким образом определяя создаваемое окно главным окном приложения.

    Далее вызываются методы createActions, addToolBar, addMenuBar и addStatusLine.

    Метод createActions предназначен для создания JFace-действий, а методы addToolBar, addMenuBar и addStatusLine являются методами класса ApplicationWindow и отвечают за определение конфигурации окна, имеющего панель инструментов, панель меню и строку статуса.

    Метод createContents переопределяет соответствующий метод класса Window, являющегося суперклассом класса ApplicationWindow.

    Данный метод отвечает за создание и возврат содержимого окна, и в переопределенном методе createContents создается и возвращается SWT контейнер Composite.

    При добавлении компонентов в ApplicationWindow-окно приложения, используя область визуального редактирования вкладки Design WindowBuilder-редактора, код создания компонентов добавляется в метод createContents и компоненты становятся дочерними компонентами возвращаемого методом Composite-контейнера.

    Метод createMenuManager переопределяет соответствующий метод класса ApplicationWindow.

    Данный метод отвечает за создание и возврат объекта MenuManager – объекта-помощника, упрощающего создание и обновление меню.

    Заполнить меню элементами можно используя раздел JFace Actions Palette-палитры вкладки Design WindowBuilder-редактора, который появляется в Palette-палитре при создании JFace-приложения.

    Для добавления элемента меню перенесем элемент New раздела JFace Actions Palette-палитры в область (Empty MenuManager) холста дизайнера.

    В результате в методе createActions появится код создания экземпляра анонимного класса, расширяющего класс Action, а в методе createMenuManager произойдет добавление созданного Action-объекта в панель меню методом add интерфейса IContributionManager, который реализуется классом MenuManager и который обеспечивает общий протокол для добавления, удаления и поиска элементов панели меню, панели инструментов и строки статуса.

    После добавления, Action-объект отображается в виде кнопки панели меню.

    Для того чтобы нажатие добавленной кнопки панели меню вызвало требуемое действие необходимо переопределить метод run класса Action, вызываемый средой выполнения при возникновении SWT-события.

    Метод createToolBarManager переопределяет соответствующий метод класса ApplicationWindow.

    Данный метод отвечает за создание и возврат объекта ToolBarManager – объекта-помощника, упрощающего создание и обновление панели инструментов.

    Заполнить панель инструментов элементами можно, используя раздел JFace Actions Palette-палитры вкладки Design WindowBuilder-редактора.

    Для добавления элемента панели инструментов перенесем элемент New раздела JFace Actions Palette-палитры в область (Empty ToolBarManager) холста

    1 ... 50 51 52 53 54 55 56 57 58 59
    Перейти на страницу:
    1. Жалоба
    Отзывы - 0

    Прочитали книгу? Предлагаем вам поделится своим отзывом от прочитанного(прослушанного)! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.


    Уважаемые читатели, слушатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

    • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
    • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
    • 3. Просьба отказаться от нецензурной лексики.
    • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

    Надеемся на Ваше понимание и благоразумие. С уважением, администратор LoveRead.info.


    Установить VPN и читай слушай бесплатно

    Новые отзывы

    1. Лариса Лариса04 июнь 12:43 Да, просто до слез похоже на сериал ,,Даррел,,... Смерть в райском уголке - Эмили Салливан
    2. Stmara Stmara02 июнь 22:44 Приятная история, чтобы скоротать вечер. Любимая книга из последних "Любовь со смертью", также очень понравилась -"Суженная... Сердце космического дракона - Ольга Вадимовна Гусейнова
    3. Alex Alex01 июнь 17:12 💩💩💩🖕🖕🖕🖕🖕🖕🖕... Игровой момент II - Александр Андреевич Бодров
    Все комметарии
    Новинки бесплатной онлайн библиотеки